package projeto;

import java.io.*;
import java.util.*;

public class PerfilUsuario {
	private String nomeUsuario = null;
	private String descricaoUsuario= null;
	private String email= null;
	private Formatter output;
	
	public PerfilUsuario(){
		
	}
	public PerfilUsuario(String nome,String descricao,String email){
		this.nomeUsuario = nome;
		this.descricaoUsuario = descricao;
		this.email = email;
		
	}
	public String getNome(){
		return nomeUsuario;
	}
	public void setNome(String novoNome){
		nomeUsuario = novoNome;
	}
	public String getDescricao(){
		return descricaoUsuario;
	}
	public void setDescricao(String novaDescricao){
		descricaoUsuario = novaDescricao;
	}
	public String getEmail(){
		return email;
	}
	public void setEmail(String novoEmail){
		email = novoEmail;
	}
	/**
	 * cria o arquivo
	 * @throws FileNotFoundException
	 */
	public void openFile() throws FileNotFoundException{
		try{
			output = new Formatter("perfil.txt");
		}catch(SecurityException securityException){
			System.err.println(" sem acesso a este arquivo");
			System.exit(1);
		}catch(FileNotFoundException filesNotFoundException){
			System.err.println("Error na criacao do arquivo");
			System.exit(1);
		}
		
	}
	/**
	 * add dados ao arquivo
	 */
	public void addPerfil(){
		PerfilUsuario usuario = new PerfilUsuario(getNome(), getDescricao(), getEmail());
		
		
		Scanner input = new Scanner( System.in);
		System.out.println("Entre com seu nome:");
		while(input.hasNext()){
			try{
				
				usuario.setNome(input.nextLine());
				System.out.println("Faca a sua descricao:");
				usuario.setDescricao(input.nextLine());
				System.out.println("Seu email:");
				usuario.setEmail(input.nextLine());
				
				output.format("%s\n%s\n%s", usuario.getNome(),usuario.getDescricao(),usuario.getEmail());
				
			
			}catch(FormatterClosedException formatterClosedException){
				System.err.println(" error escrevendo no arquivo");
				return;
			}catch(NoSuchElementException elementException){
				System.err.println("invalid input.Tente novamente");
				input.nextLine();
			}if (usuario.getEmail() != null){
				break;
			}
		}
	}
	/**
	 * metodo que fecha o arquivo
	 */
	public void closeFile(){
		if (output != null){
			output.close();
		}
	}
	
	public static void main(String[] args) throws FileNotFoundException {
		
		PerfilUsuario usu = new PerfilUsuario();
		usu.openFile();
		usu.addPerfil();
		usu.closeFile();
		
	}

}
